import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'
import type { RootState, AppDispatch } from '../store/index'

// 在整个应用程序中使用，而不是简单的 `useDispatch` 和 `useSelector`
export const useAppDispatch: () => AppDispatch = useDispatch
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector



// useSelector 是 Redux 提供的钩子，用于从 Redux 存储中选择状态。useAppSelector 是一个类型化的自定义钩子，
// 它使用 TypedUseSelectorHook 为 RootState 提供类型支持。这意味着使用 useAppSelector 时，TypeScript 会自动推断和检查你选择的状态的类型，从而减少类型错误。

// 简单来说，useAppSelector 提供更好的类型安全，而 useSelector 则没有这个特性。使用 useAppSelector 可以让你的代码更健壮和易于维护。